VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "NotificationPublisher"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit

Private mCollection As New Collection

Public Sub add(notifier As Object)
mCollection.add notifier
End Sub

Public Sub StartProject(project As ProjectFixture)
Dim n As Object    'NotificationPublisher
For Each n In mCollection
    n.StartProject project
Next
End Sub

Public Sub StartClass(Class As ClassFixture)
Dim n As Object
For Each n In mCollection
    n.StartClass Class
Next
End Sub
Public Sub StartMethod(method As MethodFixture)
Dim n As Object
For Each n In mCollection
    n.StartMethod method
Next
End Sub
Public Sub StartFineMethod(method As FineMethodCaller)
Dim n As Object
For Each n In mCollection
    n.StartFineMethod method
Next
End Sub
Public Sub testResult(result As Boolean, actual As Variant, expected As Variant, tagMessage As String, fullDescription As String)
Dim n As Object
For Each n In mCollection
    n.testResult result, actual, expected, tagMessage, fullDescription
Next
End Sub

Public Sub EndFineMethod()
Dim n As Object
For Each n In mCollection
    n.EndFineMethod
Next
End Sub
Public Sub EndMethod()
Dim n As Object
For Each n In mCollection
    n.EndMethod
Next
End Sub
Public Sub EndClass()
Dim n As Object
For Each n In mCollection
    n.EndClass
Next
End Sub
Public Sub EndProject()
Dim n As Object
For Each n In mCollection
    n.EndProject
Next
End Sub


